Replication Guide for Making Washington Work

The main dataset used for the analyses in Making Washington Work entitled mww_1.dta can be found in the folder labeled �Main.�  This dataset includes the variables listed in the mww_codebook.pdf document located in the same folder.  The dataset was constructed from a number of published and unpublished sources, including service dates and personal characteristics for members of Congress from ICPSR Study No. 7803, election returns from the CQ Guide to Elections, committee service provided by David Canon, Garrison Nelson and Charles Stewart III, constituency characteristics (e.g., veteran population, farm value per capita, population) drawn from the U.S. Census and elsewhere, district population provided by Erik Engstrom, and bill introductions and political experience compiled by the authors.

The following instructions will allow interested users to recompile the main dataset from original sources and reproduce all tables and figures in the article and supporting information.  Each set of materials and commands are organized under the names of folders we used to organize these files on our computers.  We have also included a zipped file, MWW_combined.zip, that includes all files in the dataverse.  In running the command files, the user will need to correct the file paths, locating each file as appropriate.  All files referred to in this document and uploaded to the AJPS Dataverse are listed and described in the readmetoc.pdf document in the folder labeled �Main.�

All of the analyses in the article and supporting information were performed using STATA 13.1 and R version 2.14.1.  All of the analysis datasets, including original sources, are saved as text files, Excel (Microsoft Excel 2010) files or STATA files.


McKibben

The file, mck_1.do, imports ICPSR Study No. 7803 into STATA, eliminates extraneous observations and variables, creates other variables used in the analyses and saves the data for merge (mck.dta).  ICPSR Study No. 7803, is a member-congress file with service dates and personal characteristics for every member of the U.S. Congress during the 1881-1931 period.  The data file we use (07803-001-Data.txt) and its codebook (McKibben_Codebook.pdf) are contained in:

Inter-university Consortium for Political and Social Research, and Carroll McKibbin.  Roster of United States Congressional Officeholders and Biographical Characteristics of Members of the United States Congress, 1789-1996:  Merged Data.  ICPSR07803-v10.  Ann Arbor, MI:  Inter-university Consortium for Political and Social Research [distributor], 1997.  http://doi.org/10.3886/ICPSR07803.v10.


MacKenzie

The file, margin_1.dta, contains congressional election returns data hand-coded by the authors from the CQ Guide to Elections for the 1881-1931 period.  The saved file contains a unique identifier (icpsr_cong) and one variable (margin).  The data we use are contained in:

Congressional Quarterly, Inc.  1975.  Congressional Quarterly�s Guide to U.S. Elections.  Washington:  CQ Press.


The file, mackenz_1.dta, contains previous political experience data compiled by the authors from the Biographical Directory of the U.S. Congress for the 1881-1931 period.  The saved file contains a unique identifier (icpsr_cong) and two variables (yr_hse, l_fun).  The Biographical Directory can be accessed online at http://bioguide.congress.gov/biosearch/biosearch.asp.


Committees

The file, stew_1.do, imports committee service data compiled by David Canon, Garrison Nelson and Charles Stewart III into STATA, eliminates extraneous observations and variables, creates a number of committee assignment variables used in the analyses, and formats this data for merging into the main dataset (com_38_79.dta and com_38_79_assigns.dta).  This dataset is a member-congress-session-assignment file that lists all member committee assignments during the 1881-1931 period.  The data file we use (hst3879.dat) and its codebook (hst3879.cb) are available for download at http://web.mit.edu/cstewart/www/.


Gubernatorial Returns

The file, cqgov_1.do, takes gubernatorial election returns data from 1856 to 1946 hand-coded by the authors from the CQ Guide to Elections (cqgov_1856_1946.dta), interpolates the data between election years, creates state Democratic and Republican Party two-party gubernatorial vote shares, and formats this data for merging into the main dataset.  The saved file, cqgov_1.dta, contains a unique identifier (icpsr_cong) and two variables (gdem_p_12_ave, grep_p_12_ave).  The data we use are contained in:

Congressional Quarterly, Inc.  2010.  Guide to U.S. Elections.  6th Edition.  Washington:  CQ Press.


Veterans

The file, vets_1.do, imports data on district veteran population into STATA, interpolates the data between apportionment years and creates a ranking of each state�s district veteran population, and formats this data for merging into the main dataset.  The saved file, vets_1.dta, contains a unique identifier (icpsr_cong) and two variables (i_vets_dist, i_vets_rank2).  The data we use (vets_dist.txt) are contained in:

Bureau of Pensions, Department of Interior.  Annual Report of Commissioner of Pensions.  Various years.  Washington:  Government Printing Office.


Farm Value

The file, farm_value_1.do, imports national and individual state data on the number of farms and value of farm land and buildings hand-coded by the authors from Carter et al.�s Historical Statistics of the United States (Farms2.xlsx), formats and saves this data (Farms.dta), merges this data with other Census data on total and urban population (pop_1.dta), interpolates the data between census years, identifies states above the median in the number of farms and farm value per capita, and formats this data for merging into the main dataset.  The saved file (farm_value_1.dta), contains a unique identifier (stateyear) and five variables (i_pop_tot, i_pop_urban_p, i_pc_farm_val_hi, i_farms_hi, i_pc_farms_hi).  The data on the number of farms, and value of farm land and buildings that we use are contained in:

Carter, Susan B., Scott Sigmund Gartner, Michael R. Haines, Alan L. Olmstead, Richard Sutch and Gavin Wright.  2006.  Historical Statistics of the United States.  Millennial Edition.  Cambridge:  Cambridge University Press.  http://hsus.cambridge.org/.

Population

The file, pop_1.do, takes individual state total and urban population hand-coded by the authors from Carter et al.�s Historical Statistics of the United States (state_year_pop.dta), interpolates the data between census years, calculates the urban share of total population, and formats this data for merging into the main dataset (pop_1.dta).  The data on state population that we use are contained in:

Carter, Susan B., Scott Sigmund Gartner, Michael R. Haines, Alan L. Olmstead, Richard Sutch .and Gavin Wright.  2006.  Historical Statistics of the United States.  Millennial Edition.  Cambridge:  Cambridge University Press.  http://hsus.cambridge.org/.


District Population

The file, dist_pop_1.do, formats two congressional district population data files compiled by Erik Engstrom for the years 1860 to 1862 for merging into the main dataset.  These datasets (district_pop_1860_1910.dta and county_population_1910_1962.dta) are state-year-district files that record the populations of most congressional districts during the 1881-1931 period.  The saved files (dist_pop_1_mrg.dta and dist_pop_2_mrg.dta) contain a unique identifier (sdc_id) and one variable (population).  Missing district values were filled in, where possible, using the same original sources:

Joint Committee on Printing.  Official Congressional Directory.  Various editions.  Washington:  Government Printing Office.

Parsons, Stanley B., William W. Beach, and Michael J. Dubin and Karen Toombs Parsons.  1986.  United States Congressional Districts, 1843-1883.  Westport, CT:  Greenwood Press, Inc.

Parsons, Stanley B., Michael J. Dubin, and Karen Toombs Parsons.  1990.  United States Congressional Districts, 1883-1913.  Westport, CT:  Greenwood Press, Inc.


Bill Introductions

The file, bills_1.dta, contains member private, local, policy and Civil War pension bill introductions data compiled by the authors from various editions of the Congressional Record for the 1881-1931 period.  The saved file contains a unique identifier (icpsr_cong) and four variables (private, local, policy, inv_pens).  For details on the compilation of this data, see the article and supporting information.

The file, bills_2.dta, contains member bill introductions data compiled by the authors from various editions of the Congressional Record for the 1881-1931 period.  The saved file contains a unique identifier (icpsr_cong) and eight variables (pensions, claims, military, internal, indian, maritime, interior, agriculture).  For details on the compilation of this data, see the article and supporting information.

The file, bills_3.dta, contains member bill introductions data compiled by the authors from various editions of the Congressional Record for the 1881-1931 period.  The saved file contains a unique identifier (icpsr_cong) and two variables (judiciary, publdgs).  For details on the compilation of this data, see the article and supporting information.


Main

Constructing mww_1.dta

The file, mww_1.do, merges variables from the sources described above, eliminates extraneous observations and variables, fills in missing committee assignment and district population values, creates other variables used in the analyses, and writes these data to a saved file, mww_1.dta.  This file also exports subsets of these data to four analysis datasets for the non-South and South (mww_1_ref_ballot_ns.txt, mww_1_ref_bal_pri_ns.txt, mww_1_ref_ballot_s.txt, mww_1_ref_bal_pri_s.txt).  These five datasets are used to produce most of the tables and figures in the article and supporting information, as described below.  The codebook file mww_1_codebook.pdf describes all of the variables in the compiled dataset.


Tables and Figures in the Article and Supporting Information

MWW Figure 1

The R file, Figure_1.r, opens the bill introductions dataset, bills.dta, which contains summary data on the number of bills and per member average introduced by Congress alongside counts of individual members, and graphs these data for the 47th to 71st congresses.  The data on the number of bills and the number of House seats that we use are contained in:

Index to the Congressional Record. History of Bills and Resolutions. Various Years. Washington: Government Printing Office.

Party Divisions of the House of Representatives. Office of the Historian, Clerk of the House. http://history.house.gov/Institution/Party-Divisions/Party-Divisions/


MWW Figure 2 and Figure 3

The STATA do file, Figures_2_3.do, opens the main dataset, mww_1.dta, creates counts of non-Civil War pension private bills, and bills referred to the Commerce, Public Buildings and Grounds, and Rivers and Harbors committees, collapses individual member totals to congress observations, calculates bill totals and per member averages, and graphs these data for the 47th to 71st congresses. 


MWW Figure 4

The four panels of Figure 4 can be reproduced through the following procedures: 

The STATA do file, Figures 4a Ballot Non-South.do, uses the analysis dataset, mww_1_ref_ballot_ns.txt, containing observations for members in the Ballot treatment and non-reform settings control groups, to generate bootstrapped confidence intervals for the standardized bias calculations for 13 covariates used in the analyses.  Specifically, this file runs a loop command that randomly assigns observations to two groups that are equivalent in size to the Ballot and non-reform groups and calculates means and standard deviations for them.  This process is repeated 10,000 times saving the results of each trial.  For each trial, the standardized bias is calculated as well as two variables that identify the 5th and 95th percentiles of the 10,000 trials.  The saved file, sim_ref_ballot_ns.dta, contains these data.  The bottom of the do file plots the standardized bias for each covariate before and after matching with the variables identifying the 5th and 95th percentiles.  The standardized bias for each covariate before and after matching is calculated as part of the matching procedures described below (see the MWW Table 1 tag).  Because the MatchBalance() command in R multiplies the standardized bias calculations by 100, we divide these figures by 100 before plotting them with the bootstrapped confidence intervals.  The standardized bias calculations for each covariate before and after matching can be found in the output file match_ref_ballot_ns_print.txt (see the MWW Table 1 tag).

The STATA do file, Figures 4b Ballot South.do, uses the analysis dataset, mww_1_ref_ballot_s.txt, containing observations for members in the Ballot treatment and non-reform settings control groups, to generate bootstrapped confidence intervals for the standardized bias calculations for nine covariates used in the analyses.  The procedures are identical to those described above.  The saved file, sim_ref_ballot_s.dta, contains the mean, standard deviation and the 5th and 95th percentiles of the 10,000 trials.  The standardized bias calculations for each covariate before and after matching can be found in the output file match_ref_ballot_s_print.txt (see the MWW Table 1 tag).

The STATA do file, Figures 4c Primary Non-South.do, uses the analysis dataset, mww_1_ref_bal_pri_ns.txt, containing observations for members in the Ballot + Primary treatment and non-reform settings control groups, to generate bootstrapped confidence intervals for the standardized bias calculations for 13 covariates used in the analyses.  The procedures are identical to those described above.  The saved file, sim_ref_bal_pri_ns.dta, contains the mean, standard deviation and the 5th and 95th percentiles of the 10,000 trials.  The standardized bias calculations for each covariate before and after matching can be found in the output file match_ref_bal_pri_ns_print.txt (see the MWW Table 1 tag).

The STATA do file, Figures 4d Primary South.do, uses the analysis dataset, mww_1_ref_bal_pri_s.txt, containing observations for members in the Ballot + Primary treatment and non-reform settings control groups, to generate bootstrapped confidence intervals for the standardized bias calculations for nine covariates used in the analyses.  The procedures are identical to those described above.  The saved file, sim_ref_bal_pri_s.dta, contains the mean, standard deviation and the 5th and 95th percentiles of the 10,000 trials.  The standardized bias calculations for each covariate before and after matching can be found in the output file match_ref_bal_pri_s_print.txt (see the MWW Table 1 tag).


MWW Table 1

Six steps are needed to generate the matched samples and event count models in Table 1.  

1. Use the GenMatch() command in R on the appropriate analysis dataset to generate matched samples of treatment and control group observations.
2. Use the MatchBalance command in R to examine how well balance was achieved.
3. Export the matched observations to a saved comma-separated text file.
4. Use STATA to format and save the matched observations with a new variable, tr1, as a treatment indicator.
5. Use the nbreg command in STATA to estimate negative binomial regression models of private, local and policy bill introductions
6. Use the CLARIFY package in STATA to generate predicted counts and first differences.

The 12 models of Table 1 can be reproduced through the following procedures: 

Models of Private, Local and Policy Bills, Ballot and non-reform settings, Non-South

The R file, match_ref_ballot_ns.r, uses the analysis dataset, mww_1_ref_ballot_ns.txt, containing observations for members in the Ballot and non-reform settings groups, to generate matched samples.  Specifically, this file runs propensity score and genetic matching algorithms that pair each member in the Ballot group with a suitable match from the non-reform settings group, and then uses the MatchBalance() command to examine how successful each was in achieving balance on the observed covariates.  Only the output of the genetic matching algorithm is used in the analyses.  The bottom of the file saves the output of the genetic matching algorithm in a three-column object (treatment id, control id, weight) and writes these data to the output file, match_ref_ballot_ns_output.txt.  The workspace is saved as an R data file, match_ref_ballot_ns.RData.  The balance statistics from MatchBalance() are also captured in the text file, match_ref_ballot_ns_print.txt.  These statistics are summarized in Table A1 (see the SI Table A1 tab) and the standardized bias calculations are plotted in Figure 4 (see the MWW Figure 4 tag).

The STATA do file, Table 1 Ballot Non-South.do, imports the output file, match_ref_ballot_ns_output.txt, formats and saves the output file match_ref_ballot_ns_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_1_ref_ballot_ns_match.dta, for analysis.  The bottom of the file runs the negative binomial regression models of private, local and policy bill introductions, identifies the 25th and 75th percentiles of continuous covariates, and then uses the CLARIFY package to generate predicted counts and first differences.  These predicted counts and first differences are saved in a log file, Table_1_ballot_ns_match_clarify.log.  These are plotted in Figure 5 (see the MWW Figure 5 and Figure 8 tag).


Models of Private, Local and Policy Bills, Ballot and non-reform settings, South

The R file, match_ref_ballot_s.r, uses the analysis dataset, mww_1_ref_ballot_s.txt, containing observations for members in the Ballot and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_ballot_s_output.txt.  The workspace is saved in the R data file, match_ref_ballot_s.RData.  The balance statistics from MatchBalance() are captured in the text file, match_ref_ballot_s_print.txt.  These statistics are summarized in Table A2 (see the SI Table A2 tag) and the standardized bias calculations are plotted in Figure 4 (see the MWW Figure 4 tag).

The STATA do file, Table 1 Ballot South.do, imports the output file, match_ref_ballot_s_output.txt, formats and saves the output file match_ref_ballot_s_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_1_ref_ballot_s_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the models, predicted counts and first differences in a log file, Table_1_ballot_s_match_clarify.log.  These are plotted in Figure 8 (see the MWW Figure 5 and Figure 8 tag).


Models of Private, Local and Policy Bills, Ballot + Primary and non-reform settings, Non-South

The R file, match_ref_bal_pri_ns.r, uses the analysis dataset, mww_1_ref_bal_pri_ns.txt, containing observations for members in the Ballot + Primary and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_bal_pri_ns_output.txt.  The workspace is saved in the R data file, match_ref_bal_pri_ns.RData.  The balance statistics from MatchBalance() are captured in the text file, match_ref_bal_pri_ns_print.txt.  These statistics are summarized in Table A1 (see the SI Table A1 tag) and the standardized bias calculations are plotted in Figure 4 (see the MWW Figure 4 tag).

The STATA do file, Table 1 Primary Non-South.do, imports the output file, match_ref_bal_pri_ns_output.txt, formats and saves the output file match_ref_bal_pri_ns_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_1_ref_bal_pri_ns_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the models, predicted counts and first differences in a log file, Table_1_bal_pri_ns_match_clarify.log.  These are plotted in Figure 5 (see the MWW Figure 5 and Figure 8 tag).


Models of Private, Local and Policy Bills, Ballot + Primary and non-reform settings, South

The R file, match_ref_bal_pri_s.r, uses the analysis dataset, mww_1_ref_bal_pri_s.txt, containing observations for members in the Ballot + Primary and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_bal_pri_s_output.txt.  The workspace is saved in the R data file, match_ref_bal_pri_s.RData.  The balance statistics from MatchBalance() are captured in the text file, match_ref_bal_pri_s_print.txt.  These statistics are summarized in Table A2 (see the SI Table A2 tag) and the standardized bias calculations are plotted in Figure 4 (see the MWW Figure 4 tag).

The STATA do file, Table 1 Primary South.do, imports the output file, match_ref_bal_pri_s_output.txt, formats and saves the output file match_ref_bal_pri_s_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_1_ref_bal_pri_s_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the models, predicted counts and first differences in a log file, Table_1_bal_pri_s_match_clarify.log.  These are plotted in Figure 8 (see the MWW Figure 5 and Figure 8 tag).


MWW Figure 5 and Figure 8

The STATA do file, Figure 5a5c5e Ballot Non-South.do, plots predicted first differences generated from the Ballot and non-reform models in Table 1 using CLARIFY.  These first differences are captured in the log file Table_1_ballot_ns_match_clarify.txt (see the MWW Table 1 tag).

The STATA do file, Figure 5b5d5f Primary Non-South.do, plots predicted first differences generated from the Ballot + Primary and non-reform models in Table 1 using CLARIFY.  These first differences are captured in the log file Table_1_bal_pri_ns_match_clarify.txt (see the MWW Table 1 tag).

The STATA do file, Figure 8a8c8e Ballot South.do, plots predicted first differences generated from the Ballot and non-reform models in Table 1 using CLARIFY.  These first differences are captured in the log file Table_1_ballot_s_match_clarify.txt (see the MWW Table 1 tag).

The STATA do file, Figure 8b8d8f Primary South.do, plots predicted first differences generated from the Ballot + Primary and non-reform models in Table 1 using CLARIFY.  These first differences are captured in the log file Table_1_bal_pri_s_match_clarify.txt (see the MWW Table 1 tag).


MWW Figure 6

The STATA do file, Figure 6a6b Primary Non-South CW Private.do, plots predicted first differences generated from the Ballot + Primary and non-reform models in Table A7 using CLARIFY (see the SI Table A7 and Figure A7 tag).  These first differences are captured in the log file Table_A7_bal_pri_ns_private_match_clarify.txt (see the SI Table A7 and Figure A7 tag).  To produce the plots, the file re-runs the models in Table A7 as well as the margins post-estimation command.  The marginsplot command is used only to set up the figure with predicted bill introductions on the y-axis and non-reform (Pre-Reform) and Ballot + Primary columns on the x-axis.  The predicted count, and lower and upper bounds of the 95 percent critical intervals generated using CLARIFY are manually entered into each figure.

The STATA do file, Figure 6c6d Primary Non-South Local Three Other.do, plots predicted first differences generated from the Ballot + Primary and non-reform models in Table A10 using CLARIFY (see the SI Table A10 and Figure A11 tag).  These first differences are captured in the log files Table_A10_bal_pri_ns_loc_three_match_clarify.txt and Table_A10_bal_pri_ns_loc_other_match_clarify.txt (see the SI Table A10 and Figure A11 tag).  To produce the plots, the file re-runs the models in Table A10 as well as the margins post-estimation command.  The marginsplot command is used only to set up the figure with predicted bill introductions on the y-axis and non-reform (Pre-Reform) and Ballot + Primary columns on the x-axis.  The predicted count, and lower and upper bounds of the 95 percent critical intervals generated using CLARIFY are manually entered into each figure.


MWW Figure 7 and SI Figures A2 and A3

The STATA do file, Figure 7 Primary Non-South.do, plots predicted first differences generated from the Ballot + Primary and non-reform models in Table A3 using CLARIFY (see the SI Tables A3 and A4 tag).  These first differences are captured in the log files Table_A3_bal_pri_ns_pcom_match_clarify.txt, Table_A3_bal_pri_ns_fish_match_clarify.txt, and Table_A3_bal_pri_ns_agri_match_clarify.txt (see the SI Tables A3 and A4 tag).

The STATA do file, Figure A2 Ballot Non-South.do, plots predicted first differences generated from the Ballot and non-reform models in Table A3 using CLARIFY (see SI the Tables A3 and A4 tag).  These first differences are captured in the log files Table_A3_ballot_ns_pcom_match_clarify.txt, Table_A3_ballot_ns_fish_match_clarify.txt, and Table_A3_ballot_ns_agri_match_clarify.txt (see the SI Tables A3 and A4 tag).

The STATA do file, Figure A3 Ballot South.do, plots predicted first differences generated from the Ballot and non-reform models in Table A4 using CLARIFY (see the SI Tables A3 and A4 tag).  These first differences are captured in the log files Table_A4_ballot_s_pcom_match_clarify.txt, Table_A4_ballot_s_fish_match_clarify.txt, and Table_A4_ballot_s_agri_match_clarify.txt (see the SI Tables A3 and A4 tag).

The STATA do file, Figure A3 Primary South.do, plots predicted first differences generated from the Ballot + Primary and non-reform models in Table A4 using CLARIFY (see the SI Tables A3 and A4 tag).  These first differences are captured in the log files Table_A4_bal_pri_s_pcom_match_clarify.txt, Table_A4_bal_pri_s_fish_match_clarify.txt, and Table_A4_bal_pri_s_agri_match_clarify.txt (see the SI Tables A3 and A4 tag).


SI Figure A1

The STATA do file, SI Figure A1aA1b.do, opens the main dataset, mww_1.dta, creates counts for both committee and non-committee members of bills referred to the Commerce, Public Buildings and Grounds, and Rivers and Harbors committees, and bills referred to the Indian Affairs, Public Lands, Judiciary and Maritime committees, collapses individual member totals to congress observations, calculates bill totals, and graphs these data for the 47th to 71st congresses. 


SI Tables A1 and A2

No separate commands are needed to reproduce Table A1.  The statistics in Table A1 were generated using the MatchBalance() command in the R files, match_ref_ballot_ns.r and match_ref_bal_pri_ns.r, as described above (see the MWW Table 1 tag) and captured in the text files, match_ref_ballot_ns_print.txt and match_ref_bal_pri_ns_print.txt.  Because the MatchBalance() command in R multiplies the standardized bias calculations by 100, we divide the statistics in the columns labeled �Bias� by 100.

No separate commands are needed to reproduce Table A2.  The statistics in Table A2 were generated using the MatchBalance() command in the R files, match_ref_ballot_s.r and match_ref_bal_pri_s.r, as described above (see the MWW Table 1 tag) and captured in the text files, match_ref_ballot_s_print.txt and match_ref_bal_pri_s_print.txt.  Because the MatchBalance() command in R multiplies the standardized bias calculations by 100, we divide the statistics in the columns labeled �Bias� by 100.


SI Tables A3 and A4

Seven steps are needed to generate the matched samples and event count models in Tables A3 and A4.  

1. Use STATA and the main dataset to export analysis datasets for pension, maritime and agriculture bills for the non-South and South.
2. Use the GenMatch() command in R on the appropriate analysis dataset to generate matched samples of treatment and control group observations.
3. Use the MatchBalance command in R to examine how well balance was achieved.
4. Export the matched observations to a saved comma-separated text file.
5. Use STATA to format and save the matched observations with a new variable, tr1, as a treatment indicator.
6. Use the nbreg command in STATA to estimate negative binomial regression models of private, local and policy bill introductions
7. Use the CLARIFY package in STATA to generate predicted counts and first differences.

The 12 models of Tables A3 and A4 can be reproduced through the following procedures: 

The STATA do file, mww_5.do, exports subsets of the main dataset to four analysis datasets for the non-South and South (mww_5_ref_ballot_ns.txt, mww_5_ref_bal_pri_ns.txt, mww_5_ref_ballot_s.txt, mww_5_ref_bal_pri_s.txt).  These separate analysis datasets are necessary because the analyses use different dependent variables and covariates than the analyses in Table 1 of the article.

Table A3

Model of Pension Bills, Ballot and non-reform settings, Non-South

The R file, match_ref_ballot_ns_pcom.r, uses the analysis dataset, mww_5_ref_ballot_ns.txt, containing observations for members in the Ballot and non-reform settings groups, to generate matched samples.  Specifically, this file runs propensity score and genetic matching algorithms that pair each member in the Ballot group with a suitable match from the non-reform settings group, and then uses the MatchBalance() command to examine how successful each was in achieving balance on the observed covariates.  Only the output of the genetic matching algorithm is used in the analyses.  The bottom of the file saves the output of the genetic matching algorithm in a three-column object (treatment id, control id, weight) and writes these data to the output file, match_ref_ballot_ns_pcom_output.txt.  The workspace is saved as an R data file, match_ref_ballot_ns_pcom.RData.

The STATA do file, Table A3 Ballot Non-South Pensions.do, imports the output file, match_ref_ballot_ns_pcom_output.txt, formats and saves the output file match_ref_ballot_ns_pcom_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_5_ref_ballot_ns_pcom_match.dta, for analysis.  The bottom of the file runs the negative binomial regression model of pension bill introductions, identifies the 25th and 75th percentiles of continuous covariates, and then uses the CLARIFY package to generate predicted counts and first differences.  These predicted counts and first differences are saved in a log file, Table_A3_ballot_ns_pcom_match_clarify.log, and plotted in Figure A2 (see the MWW Figure 7 and SI Figures A2 and A3 tag).


Model of Maritime Bills, Ballot and non-reform settings, Non-South

The R file, match_ref_ballot_ns_fish.r, uses the analysis dataset, mww_5_ref_ballot_ns.txt, containing observations for members in the Ballot and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_ballot_ns_fish_output.txt.  The workspace is saved in the R data file, match_ref_ballot_ns_fish.RData.

The STATA do file, Table A3 Ballot Non-South Maritime.do, imports the output file, match_ref_ballot_ns_fish_output.txt, formats and saves the output file match_ref_ballot_ns_fish_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_5_ref_ballot_ns_fish_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the model, predicted counts and first differences in a log file, Table_A3_ballot_ns_fish_match_clarify.log.  These are plotted in Figure A2 (see the MWW Figure 7 and SI Figures A2 and A3 tag).


Model of Agriculture Bills, Ballot and non-reform settings, Non-South

The R file, match_ref_ballot_ns_agri.r, uses the analysis dataset, mww_5_ref_ballot_ns.txt, containing observations for members in the Ballot and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_ballot_ns_agri_output.txt.  The workspace is saved in the R data file, match_ref_ballot_ns_agri.RData.

The STATA do file, Table A3 Ballot Non-South Agriculture.do, imports the output file, match_ref_ballot_ns_agri_output.txt, formats and saves the output file match_ref_ballot_ns_agri_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_5_ref_ballot_ns_agri_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the model, predicted counts and first differences in a log file, Table_A3_ballot_ns_agri_match_clarify.log. These are plotted in Figure A2 (see the MWW Figure 7 and SI Figures A2 and A3 tag).


Model of Pension Bills, Ballot + Primary and non-reform settings, Non-South

The R file, match_ref_bal_pri_ns_pcom.r, uses the analysis dataset, mww_5_ref_bal_pri_ns.txt, containing observations for members in the Ballot + Primary and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_bal_pri_ns_pcom_output.txt.  The workspace is saved in the R data file, match_ref_bal_pri_ns_pcom.RData.

The STATA do file, Table A3 Primary Non-South Pensions.do, imports the output file, match_ref_bal_pri_ns_pcom_output.txt, formats and saves the output file match_ref_bal_pri_ns_pcom_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_5_ref_bal_pri_ns_pcom_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the model, predicted counts and first differences in a log file, Table_A3_bal_pri_ns_pcom_match_clarify.log.  These are plotted in Figure 7 (see the MWW Figure 7 and SI Figures A2 and A3 tag).


Model of Maritime Bills, Ballot + Primary and non-reform settings, Non-South

The R file, match_ref_bal_pri_ns_fish.r, uses the analysis dataset, mww_5_ref_bal_pri_ns.txt, containing observations for members in the Ballot + Primary and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_bal_pri_ns_fish_output.txt.  The workspace is saved in the R data file, match_ref_bal_pri_ns_fish.RData.

The STATA do file, Table A3 Primary Non-South Maritime.do, imports the output file, match_ref_bal_pri_ns_fish_output.txt, formats and saves the output file match_ref_bal_pri_ns_fish_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_5_ref_bal_pri_ns_fish_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the model, predicted counts and first differences in a log file, Table_A3_bal_pri_ns_fish_match_clarify.log.  These are plotted in Figure 7 (see the MWW Figure 7 and SI Figures A2 and A3 tag).


Model of Agriculture Bills, Ballot + Primary and non-reform settings, Non-South

The R file, match_ref_bal_pri_ns_agri.r, uses the analysis dataset, mww_5_ref_bal_pri_ns.txt, containing observations for members in the Ballot + Primary and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_bal_pri_ns_agri_output.txt.  The workspace is saved in the R data file, match_ref_bal_pri_ns_agri.RData.

The STATA do file, Table A3 Primary Non-South Agriculture.do, imports the output file, match_ref_bal_pri_ns_agri_output.txt, formats and saves the output file match_ref_bal_pri_ns_agri_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_5_ref_bal_pri_ns_agri_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the model, predicted counts and first differences in a log file, Table_A3_bal_pri_ns_agri_match_clarify.log.  These are plotted in Figure 7 (see the MWW Figure 7 and SI Figures A2 and A3 tag).


Table A4

Model of Pension Bills, Ballot and non-reform settings, South

The R file, match_ref_ballot_s_pcom.r, uses the analysis dataset, mww_5_ref_ballot_s.txt, containing observations for members in the Ballot and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_ballot_s_pcom_output.txt.  The workspace is saved in the R data file, match_ref_ballot_s_pcom.RData.

The STATA do file, Table A4 Ballot South Pensions.do, imports the output file, match_ref_ballot_s_pcom_output.txt, formats and saves the output file match_ref_ballot_s_pcom_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_5_ref_ballot_s_pcom_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the model, predicted counts and first differences in a log file, Table_A4_ballot_s_pcom_match_clarify.log.  These are plotted in Figure A4 (see the MWW Figure 7 and SI Figures A2 and A3 tag).


Model of Maritime Bills, Ballot and non-reform settings, South

The R file, match_ref_ballot_s_fish.r, uses the analysis dataset, mww_5_ref_ballot_s.txt, containing observations for members in the Ballot and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_ballot_s_fish_output.txt.  The workspace is saved in the R data file, match_ref_ballot_s_fish.RData.

The STATA do file, Table A4 Ballot South Maritime.do, imports the output file, match_ref_ballot_s_fish_output.txt, formats and saves the output file match_ref_ballot_s_fish_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_5_ref_ballot_s_fish_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the model, predicted counts and first differences in a log file, Table_A4_ballot_s_fish_match_clarify.log.  These are plotted in Figure A4 (see the MWW Figure 7 and SI Figures A2 and A3 tag).


Model of Agriculture Bills, Ballot and non-reform settings, South

The R file, match_ref_ballot_s_agri.r, uses the analysis dataset, mww_5_ref_ballot_s.txt, containing observations for members in the Ballot and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_ballot_s_agri_output.txt.  The workspace is saved in the R data file, match_ref_ballot_s_agri.RData.

The STATA do file, Table A4 Ballot South Agriculture.do, imports the output file, match_ref_ballot_s_agri_output.txt, formats and saves the output file match_ref_ballot_s_agri_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_5_ref_ballot_s_agri_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the model, predicted counts and first differences in a log file, Table_A4_ballot_s_agri_match_clarify.log.  These are plotted in Figure A4 (see the MWW Figure 7 and SI Figures A2 and A3 tag).


Model of Pension Bills, Ballot + Primary and non-reform settings, South

The R file, match_ref_bal_pri_s_pcom.r, uses the analysis dataset, mww_5_ref_bal_pri_s.txt, containing observations for members in the Ballot + Primary and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_bal_pri_s_pcom_output.txt.  The workspace is saved in the R data file, match_ref_bal_pri_s_pcom.RData.

The STATA do file, Table A4 Primary South Pensions.do, imports the output file, match_ref_bal_pri_s_pcom_output.txt, formats and saves the output file match_ref_bal_pri_s_pcom_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_5_ref_bal_pri_s_pcom_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the model, predicted counts and first differences in a log file, Table_A4_bal_pri_s_pcom_match_clarify.log.  These are plotted in Figure A4 (see the MWW Figure 7 and SI Figures A2 and A3 tag).


Model of Maritime Bills, Ballot + Primary and non-reform settings, South

The R file, match_ref_bal_pri_s_fish.r, uses the analysis dataset, mww_5_ref_bal_pri_s.txt, containing observations for members in the Ballot + Primary and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_bal_pri_s_fish_output.txt.  The workspace is saved in the R data file, match_ref_bal_pri_s_fish.RData.

The STATA do file, Table A4 Primary South Maritime.do, imports the output file, match_ref_bal_pri_s_fish_output.txt, formats and saves the output file match_ref_bal_pri_s_fish_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_5_ref_bal_pri_s_fish_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the model, predicted counts and first differences in a log file, Table_A4_bal_pri_s_fish_match_clarify.log.  These are plotted in Figure A4 (see the MWW Figure 7 and SI Figures A2 and A3 tag).


Model of Agriculture Bills, Ballot + Primary and non-reform settings, South

The R file, match_ref_bal_pri_s_agri.r, uses the analysis dataset, mww_5_ref_bal_pri_s.txt, containing observations for members in the Ballot + Primary and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_bal_pri_s_agri_output.txt.  The workspace is saved in the R data file, match_ref_bal_pri_s_agri.RData.

The STATA do file, Table A4 Primary South Agriculture.do, imports the output file, match_ref_bal_pri_s_agri_output.txt, formats and saves the output file match_ref_bal_pri_s_agri_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_5_ref_bal_pri_s_agri_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the model, predicted counts and first differences in a log file, Table_A4_bal_pri_s_agri_match_clarify.log.  These are plotted in Figure A4 (see the MWW Figure 7 and SI Figures A2 and A3 tag).


SI Table A5 and Figures A4 and A5

Models of Private, Local and Policy Bills, Ballot and non-reform settings, Non-South

The STATA do file, Table A5 Ballot Non-South.do, imports the analysis dataset mww_1_ref_ballot_ns.txt (see the MWW Table 1 tag), runs the negative binomial regression models of private, local and policy bill introductions, identifies the 25th and 75th percentiles of continuous covariates, and then uses the CLARIFY package to generate predicted counts and first differences.  These predicted counts and first differences are saved in a log file, Table_A5_ballot_ns_unmatch_clarify.log, and plotted in Figure A4.

The STATA do file, Figure A4aA4cA4e Ballot Non-South.do, plots predicted first differences generated from the Ballot and non-reform models in Table A5 using CLARIFY.  These first differences are captured in the log file Table_A5_ballot_ns_unmatch_clarify.log.


Models of Private, Local and Policy Bills, Ballot and non-reform settings, South

The STATA do file, Table A5 Ballot South.do, imports the analysis dataset mww_1_ref_ballot_s.txt (see the MWW Table 1 tag), runs the negative binomial regression models of private, local and policy bill introductions, identifies the 25th and 75th percentiles of continuous covariates, and then uses the CLARIFY package to generate predicted counts and first differences.  These predicted counts and first differences are saved in a log file, Table_A5_ballot_s_unmatch_clarify.log, and plotted in Figure A5.

The STATA do file, Figure A5aA5cA5e Ballot South.do, plots predicted first differences generated from the Ballot and non-reform models in Table A5 using CLARIFY.  These first differences are captured in the log file Table_A5_ballot_s_unmatch_clarify.log.


Models of Private, Local and Policy Bills, Ballot + Primary and non-reform settings, Non-South

The STATA do file, Table A5 Primary Non-South.do, imports the analysis dataset mww_1_ref_bal_pri_ns.txt see the MWW Table 1 tag), runs the negative binomial regression models of private, local and policy bill introductions, identifies the 25th and 75th percentiles of continuous covariates, and then uses the CLARIFY package to generate predicted counts and first differences.  These predicted counts and first differences are saved in a log file, Table_A5_bal_pri_ns_unmatch_clarify.log, and plotted in Figure A4.

The STATA do file, Figure A4bA4dA4f Primary Non-South.do, plots predicted first differences generated from the Ballot + Primary and non-reform models in Table A5 using CLARIFY.  These first differences are captured in the log file Table_A5_bal_pri_ns_unmatch_clarify.log.


Models of Private, Local and Policy Bills, Ballot + Primary and non-reform settings, South

The STATA do file, Table A5 Ballot Primary.do, imports the analysis dataset mww_1_ref_bal_pri_s.txt (see the MWW Table 1 tag), runs the negative binomial regression models of private, local and policy bill introductions, identifies the 25th and 75th percentiles of continuous covariates, and then uses the CLARIFY package to generate predicted counts and first differences.  These predicted counts and first differences are saved in a log file, Table_A5_bal_pri_s_unmatch_clarify.log, and plotted in Figure A5.

The STATA do file, Figure A5bA5dA5f Primary South.do, plots predicted first differences generated from the Ballot + Primary and non-reform models in Table A5 using CLARIFY.  These first differences are captured in the log file Table_A5_bal_pri_s_unmatch_clarify.log.


SI Table A6 and Figure A6

Models of Private, Local and Policy Bills, reform and non-reform settings, Non-South

The STATA do file, Table A6 Reform Non-South.do, uses the main dataset mww_1.dta (see the Main tag), creates ballot and ballot + primary variables used in the analyses, runs the fixed effects models of private, local and policy bill introductions, identifies the 25th and 75th percentiles of continuous covariates, and then uses the CLARIFY package to generate predicted counts and first differences.  These predicted counts and first differences are saved in a log file, Table_A6_reform_ns_fe_clarify.log, and plotted in Figure A6.

The STATA do file, Figure A6aA6cA6e Reform Non-South.do, plots predicted first differences generated from the reform and non-reform models in Table A6 using CLARIFY.  These first differences are captured in the log file Table_A6_reform_ns_fe_clarify.log.


Models of Private, Local and Policy Bills, refom and non-reform settings, South

The STATA do file, Table A6 Reform South.do, uses the main dataset mww_1.dta (see the Main tag), creates ballot and ballot + primary variables used in the analyses, runs the fixed effects models of private, local and policy bill introductions, identifies the 25th and 75th percentiles of continuous covariates, and then uses the CLARIFY package to generate predicted counts and first differences.  These predicted counts and first differences are saved in a log file, Table_A6_reform_s_fe_clarify.log, and plotted in Figure A6.

The STATA do file, Figure A6bA6dA6f Reform South.do, plots predicted first differences generated from the reform and non-reform models in Table A6 using CLARIFY.  These first differences are captured in the log file Table_A6_reform_s_fe_clarify.log.


SI Table A7 and Figure A7

Models of Civil War Pension and Other Private Bills, Ballot and non-reform settings, Non-South

The STATA do file, Table A7 Ballot Non-South CW Private.do, opens the matched dataset used for the Ballot and non-reform models in Table 1, mww_1_ref_ballot_ns_match.dta (see the MWW Table 1 tag), creates a count of non-Civil War pension private bills, runs the negative binomial regression models of Civil War pension and other private bill introductions, identifies the 25th and 75th percentiles of continuous covariates, and then uses the CLARIFY package to generate predicted counts and first differences.  These predicted counts and first differences are saved in a log file, Table_A7_ballot_ns_private_match_clarify.log, and plotted in Figure A7.

The STATA do file, Figure A7aA7c Ballot Non-South CW Private.do, plots predicted first differences generated from the Ballot and non-reform models in Table A7 using CLARIFY.  These first differences are captured in the log file Table_A7_ballot_ns_private_match_clarify.log.


Models of Civil War Pension and Other Private Bills, Ballot + Primaryand non-reform settings, Non-South

The STATA do file, Table A7 Primary Non-South CW Private.do, opens the matched dataset used for the Ballot + Primary and non-reform models in Table 1, mww_1_ref_bal_pri_ns_match.dta (see the MWW Table 1 tag), creates a count of non-Civil War pension private bills, runs the negative binomial regression models of Civil War pension and other private bill introductions, identifies the 25th and 75th percentiles of continuous covariates, and then uses the CLARIFY package to generate predicted counts and first differences.  These predicted counts and first differences are saved in a log file, Table_A7_ballot_ns_private_match_clarify.log, and plotted in Figure 6 (see the MWW Figure 6 tag) and Figure A7.

The STATA do file, Figure A7bA7d Primary Non-South CW Private.do, plots predicted first differences generated from the Ballot + Primary and non-reform models in Table A7 using CLARIFY.  These first differences are captured in the log file Table_A7_bal_pri_ns_private_match_clarify.log.


SI Figures A8 and A10

Figure A8 plots average per member pension bill introductions for several states alongside the district veteran population.  Figure A10 plots average per member interior bill introductions for several states alongside the amount of unappropriated acres of public land.  To create the latter variable, the authors use various annual reports of the General Land Office to determine how many acres of unused and unappropriated public land remained in each state for the years 1891, 1901, 1910, 1922, and 1932.  These state-level totals are contained in the Excel file, Public Land.xlsx, and STATA file, Public_Land.dta.

The file, Figures A8 and A10.do, imports the state-level totals into STATA, interpolates the data between years and creates a count of each state�s holdings of unappropriated public land, and formats this data for merging into the main dataset.  The saved file, Public_Land2.dta, contains a unique identifier (state_year) and one variable (i_pub_acres).  The bottom part of the do file, Figures A8 and A10.do, opens the main dataset, mww_1.dta (see the Main tag), collapses individual member totals to congress observations, merges the count of each state�s unappropriated public land, calculates bill totals, and graphs these data for the 53rd to 71st congresses.


SI Tables A8 and A9 and Figure A9

The STATA do file, Table A8 and A9 Connecticut.do, opens the main dataset, collapses individual member totals to state-congress observations, creates a reverse time variable for use in the analysis, and uses the synth command to implement a synthetic control analysis of the effect of Connecticut�s late adoption of the Australian ballot and direct primary on pension bill introductions.  The output includes a table of unit weights (Table A8), summary of predictor balance (Table A9) and a dataset with the results of the analysis (synth_CT_pens.dta).  The final set of commands opens this saved dataset, creates a new time variable and plots pension bills per member for actual and synthetic Connecticut in Figure A9.

The STATA do file, Table A8 and A9 New Jersey.do, opens the main dataset, collapses individual member totals to state-congress observations, creates a reverse time variable for use in the analysis, and uses the synth command to implement a synthetic control analysis of the effect of New Jersey�s late adoption of the Australian ballot and direct primary on pension bill introductions.  The output includes a table of unit weights (Table A8), summary of predictor balance (Table A9) and a dataset with the results of the analysis (synth_NJ_pens.dta).  The final set of commands opens this saved dataset, creates a new time variable and plots pension bills per member for actual and synthetic New Jersey in Figure A9.


SI Table A10 and Figure A11

Seven steps are needed to generate the matched samples and event count models in Table A10.  

1. Use STATA and the main dataset to export analysis datasets for bills referred to the Commerce, Public Buildings and Grounds, and Rivers and Harbors committees, and the Indian Affairs, Public Lands, Maritime and Judiciary committees for the non-South.
2. Use the GenMatch() command in R on the appropriate analysis dataset to generate matched samples of treatment and control group observations.
3. Use the MatchBalance command in R to examine how well balance was achieved.
4. Export the matched observations to a saved comma-separated text file.
5. Use STATA to format and save the matched observations with a new variable, tr1, as a treatment indicator.
6. Use the nbreg command in STATA to estimate negative binomial regression models of private, local and policy bill introductions
7. Use the CLARIFY package in STATA to generate predicted counts and first differences.

The four models of Table A10 can be reproduced through the following procedures: 

The STATA do file, mww_2.do, exports subsets of the main dataset, mww_1.dta (see the Main tag), to two analysis datasets for the non-South � mww_2_ref_ballot_ns.txt, mww_2_ref_bal_pri_ns.txt.  These separate analysis datasets are necessary because the analyses use different dependent variables and covariates than the analyses in Table 1 of the article.

Model of Bills Referred to the Commerce, Public Buildings and Grounds and Rivers and Harbors Committees, Ballot and non-reform settings, Non-South

The R file, match_ref_ballot_ns_local.r, uses the analysis dataset, mww_2_ref_ballot_ns.txt, containing observations for members in the Ballot and non-reform settings groups, to generate matched samples.  Specifically, this file runs propensity score and genetic matching algorithms that pair each member in the Ballot group with a suitable match from the non-reform settings group, and then uses the MatchBalance() command to examine how successful each was in achieving balance on the observed covariates.  Only the output of the genetic matching algorithm is used in the analyses.  The bottom of the file saves the output of the genetic matching algorithm in a three-column object (treatment id, control id, weight) and writes these data to the output file, match_ref_ballot_ns_local_output.txt.  The workspace is saved as an R data file, match_ref_ballot_ns_loc_three.RData.

The STATA do file, Table A10 Ballot Non-South Local Three.do, imports the output file, match_ref_ballot_ns_local_output.txt, formats and saves the output file match_ref_ballot_ns_local_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_2_ref_ballot_ns_loc_three_match.dta, for analysis.  The bottom of the file runs the negative binomial regression model of bills referred to the Commerce, Public Buildings and Grounds and Rivers and Harbors committees, identifies the 25th and 75th percentiles of continuous covariates, and then uses the CLARIFY package to generate predicted counts and first differences.  These predicted counts and first differences are saved in a log file, Table_A10_ballot_ns_loc_three_match_clarify.log, and plotted in Figure A11.


Model of Bills Referred to the Indian Affairs, Public Lands, Maritime and Judiciary Committees, Ballot and non-reform settings, Non-South

The R file, match_ref_ballot_ns_other.r, uses the analysis dataset, mww_2_ref_ballot_ns.txt, containing observations for members in the Ballot and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_ballot_ns_other_output.txt.  The workspace is saved in the R data file, match_ref_ballot_ns_loc_other.RData.

The STATA do file, Table A10 Ballot Non-South Local Other.do, imports the output file, match_ref_ballot_ns_other_output.txt, formats and saves the output file match_ref_ballot_ns_other_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_2_ref_ballot_ns_loc_other_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the model, predicted counts and first differences in a log file, Table_A10_ballot_ns_loc_other_match_clarify.log.  These are plotted in Figure A11.


Model of Bills Referred to the Commerce, Public Buildings and Grounds and Rivers and Harbors Committees, Ballot + Primary and non-reform settings, Non-South

The R file, match_ref_bal_pri_ns_local.r, uses the analysis dataset, mww_2_ref_bal_pri_ns.txt, containing observations for members in the Ballot + Primary and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_bal_pri_ns_local_output.txt.  The workspace is saved in the R data file, match_ref_bal_pri_ns_loc_three.RData.

The STATA do file, Table A10 Primary Non-South Local Other.do, imports the output file, match_ref_bal_pri_ns_local_output.txt, formats and saves the output file match_ref_bal_pri_ns_local_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_2_ref_bal_pri_ns_loc_three_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the model, predicted counts and first differences in a log file, Table_A10_bal_pri_ns_loc_three_match_clarify.log.  These are plotted in Figure 6 (see the MWW Figure 6 tag) and Figure A11.


Model of Bills Referred to the Indian Affairs, Public Lands, Maritime and Judiciary Committees, Ballot + Primary and non-reform settings, Non-South

The R file, match_ref_bal_pri_ns_other.r, uses the analysis dataset, mww_2_ref_bal_pri_ns.txt, containing observations for members in the Ballot + Primary and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The output of the genetic matching algorithm is saved in the output file, match_ref_bal_pri_ns_other_output.txt.  The workspace is saved in the R data file, match_ref_bal_pri_ns_loc_other.RData.

The STATA do file, Table A10 Primary Non-South Local Other.do, imports the output file, match_ref_bal_pri_ns_other_output.txt, formats and saves the output file match_ref_bal_pri_ns_other_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_2_ref_bal_pri_ns_loc_other_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the model, predicted counts and first differences in a log file, Table_A10_bal_pri_ns_loc_other_match_clarify.log. These are plotted in Figure A11.


Figure A11

The STATA do file, Figure A11aA11c Ballot Non-South.do, plots predicted first differences generated from the Ballot and non-reform models in Table A10 using CLARIFY.  These first differences are captured in the log files Table_A10_ballot_ns_loc_three_match_clarify.log and Table_A10_ballot_ns_loc_other_match_clarify.log.

The STATA do file, Figure A11bA11d Primary Non-South.do, plots predicted first differences generated from the Ballot + Primary and non-reform models in Table A10 using CLARIFY.  These first differences are captured in the log files Table_A10_bal_pri_ns_loc_three_match_clarify.log and Table_A10_bal_pri_ns_loc_other_match_clarify.log.


SI Figures A12 and A13

Figure A12 plots average per member pension bill introductions alongside the population of Civil War veterans (including those aged 60-64).  Figure A13 plots the number of soldiers and dependents receiving federal pension benefits alongside federal expenditures for Civil War Veterans.  The data for all of these variables (except per member pension bill introductions) were hand-coded by the authors from pages 1144-1149 of Historical Statistics of the United States, Colonial Times to 1970 by the U.S. Census Bureau and saved in the Excel file CW_Vets_Pens_Expend.xlsx and STATA file CW_Vets_Pens_Expend.dta.  The data we use are contained in:

Bureau of the Census, U.S. Department of Commerce.  1975.  Historical Statistics of the United States, Colonial Times to 1970.  Part 2.  Washington:  U.S. Government Printing Office.


The file, Figures A12 and A13.do, imports the veteran population, pension recipients and expenditure totals into STATA, interpolates the data between years and formats this data for merging into the main dataset.  The saved file, vets_2.dta, contains a unique identifier (year) and seven variables (cw_vets, i_cw_vets, cw_vets_60, i_cw_vets_60, cw_va_exp, pen_dead, pen_live).  The bottom part of the do file, Figures A12 and A13.do, opens the main dataset, mww_1.dta (see the Main tag) collapses individual member totals to congress observations, merges the veteran population, pension recipients and expenditure totals, and graphs these data for the 1881-1931 period.


SI Figure A14

The two panels of Figure A14 can be reproduced through the following procedures: 

The STATA do file, Figures A14a Ballot Non-South.do, uses the analysis dataset, mww_3_ref_ballot_ns.txt (see the SI Table A13 and Figure A15 tag), containing observations for members in the Ballot and non-reform settings groups, to generate bootstrapped confidence intervals for the standardized bias calculations for 13 covariates used in the analyses.  Specifically, this file runs a loop command that randomly assigns observations to two groups that are equivalent in size to the Ballot and non-reform groups and calculates means and standard deviations for them.  This process is repeated 10,000 times saving the results of each trial.  For each trial, the standardized bias is calculated as well as two variables that identify the 5th and 95th percentiles of the 10,000 trials.  The saved file sim_ref_ballot_ns_margin.dta contains these data.  The bottom of the do file plots the standardized bias for each covariate before and after matching with the variables identifying the 5th and 95th percentiles.  The standardized bias for each covariate before and after matching is calculated as part of the matching procedures described for Table A13 (see the SI Table A13 and Figure A15 tag).  Because the MatchBalance() command in R multiplies the standardized bias calculations by 100, we divide these figures by 100 before plotting them with the bootstrapped confidence intervals.  The standardized bias calculations for each covariate before and after matching can be found in the matching output file, Table A13_match_ref_ballot_ns_margin_print.txt (see the SI Table A13 and Figure A15 tag).

The STATA do file, Figures A14b Primary Non-South.do, uses the analysis dataset, mww_3_ref_bal_pri_ns.txt (see the SI Table A13 and Figure A15 tag), containing observations for members in the Ballot + Primary and non-reform settings groups, to generate bootstrapped confidence intervals for the standardized bias calculations for 13 covariates used in the analyses.  The procedures are identical to those described above.  The saved file sim_ref_bal_pri_ns_margin.dta contains the mean, standard deviation and the 5th and 95th percentiles of the 10,000 trials.  The standardized bias calculations for each covariate before and after matching can be found in the matching output file, Table A13_match_ref_bal_pri_ns_margin_print.txt (see the SI Table A13 and Figure A15 tag).


SI Table A13 and Figure A15

Seven steps are needed to generate the matched samples and event count models in Tables A13.  

1. Use STATA and the main dataset to export analysis datasets for the non-South.
2. Use the GenMatch() command in R on the appropriate analysis dataset to generate matched samples of treatment and control group observations.
3. Use the MatchBalance command in R to examine how well balance was achieved.
4. Export the matched observations to a saved comma-separated text file.
5. Use STATA to format and save the matched observations with a new variable, tr1, as a treatment indicator.
6. Use the nbreg command in STATA to estimate negative binomial regression models of private, local and policy bill introductions
7. Use the CLARIFY package in STATA to generate predicted counts and first differences.

The six models of Tables A13 can be reproduced through the following procedures: 

The STATA do file, mww_3.do, creates a quartile split margin variable, and exports subsets of the main dataset, mww_1.dta (see the Main tag) to two analysis datasets for the non-South � mww_3_ref_ballot_ns.txt, mww_3_ref_bal_pri_ns.txt.  These separate analysis datasets are necessary because the analyses use different covariates than the analyses in Table 1 of the article.

Table A13

Model of Private, Local and Policy Bills, Ballot and non-reform settings, Non-South

The R file, match_ref_ballot_ns_margin.r, uses the analysis dataset, mww_3_ref_ballot_ns.txt, containing observations for members in the Ballot and non-reform settings groups, to generate matched samples.  Specifically, this file runs propensity score and genetic matching algorithms that pair each member in the Ballot group with a suitable match from the non-reform settings group, and then uses the MatchBalance() command to examine how successful each was in achieving balance on the observed covariates; the balance statistics are saved in the output file match_ref_ballot_ns_margin_print.txt.  Only the output of the genetic matching algorithm is used in the analyses.  The bottom of the file saves the output of the genetic matching algorithm in a three-column object (treatment id, control id, weight) and writes these data to the output file match_ref_ballot_ns_margin_output.txt.  The workspace is saved as an R data file, match_ref_ballot_ns_margin.RData.

The STATA do file, Table A13 Ballot Non-South Margin.do, imports the output file, match_ref_ballot_ns_margin_output.txt, formats and saves the output file match_ref_ballot_ns_margin_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_3_ref_ballot_ns_margin_match.dta, for analysis.  The bottom of the file runs the negative binomial regression models of private, local and policy bill introductions, identifies the 25th and 75th percentiles of continuous covariates, and then uses the CLARIFY package to generate predicted counts and first differences.  These predicted counts and first differences are saved in a log file, Table_A13_ballot_ns_margin_match_clarify.log, and plotted in Figure A15.


Model of Private, Local and Policy Bills, Ballot + Primary and non-reform settings, Non-South

The R file, match_ref_bal_pri_ns_margin.r, uses the analysis dataset, mww_3_ref_bal_pri_ns.txt, containing observations for members in the Ballot + Primary and non-reform settings groups, to generate matched samples.  The procedures are identical to those described above.  The balance statistics are saved in the output file match_ref_bal_pri_ns_margin_print.txt.  The output of the genetic matching algorithm is saved in the output file match_ref_bal_pri_ns_margin_output.txt.  The workspace is saved in the R data file, match_ref_bal_pri_ns_margin.RData.

The STATA do file, Table A13 Primary Non-South Margin.do, imports the output file, match_ref_bal_pri_ns_margin_output.txt, formats and saves the output file (match_ref_bal_pri_ns_margin_output_mrg.dta) for merging with the analysis dataset, performs the merge and then saves the merged file, mww_3_ref_bal_pri_ns_margin_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the models, predicted counts and first differences in a log file, Table_A13_bal_pri_ns_margin_match_clarify.log.  These are plotted in Figure A15.


Figure A15

The STATA do file, Figure A15aA15cA15e Ballot Non-South.do, plots predicted first differences generated from the Ballot and non-reform models in Table A13 using CLARIFY.  These first differences are captured in the log file Table_A13_ballot_ns_margin_match_clarify.txt.

The STATA do file, Figure A15bA15dA15f Primary Non-South.do, plots predicted first differences generated from the Ballot + Primary and non-reform models in Table A13 using CLARIFY.  These first differences are captured in the log file Table_A13_bal_pri_ns_margin_match_clarify.txt.


SI Figure A16

The two panels of Figure A16 can be reproduced through the following procedures: 

The STATA do file, Figures A16a Ballot Non-South.do, uses the analysis dataset, mww_4_ref_ballot_ns.txt (see the SI Table A14 and Figure A17 tag), containing observations for members in the Ballot and non-reform settings groups, to generate bootstrapped confidence intervals for the standardized bias calculations for 13 covariates used in the analyses.  Specifically, this file runs a loop command that randomly assigns observations to two groups that are equivalent in size to the Ballot and non-reform groups and calculates means and standard deviations for them.  This process is repeated 10,000 times saving the results of each trial.  For each trial, the standardized bias is calculated as well as two variables that identify the 5th and 95th percentiles of the 10,000 trials.  The saved file, sim_ref_ballot_2_ns.dta, contains these data.  The bottom of the do file plots the standardized bias for each covariate before and after matching with the variables identifying the 5th and 95th percentiles.  The standardized bias for each covariate before and after matching is calculated as part of the matching procedures described below (see the SI Table A14 and Figure A17 tag).  Because the MatchBalance() command in R multiplies the standardized bias calculations by 100, we divide these figures by 100 before plotting them with the bootstrapped confidence intervals.  The standardized bias calculations for each covariate before and after matching can be found in the matching output file Table A14_match_ref_ballot_2_ns _print.txt (see the SI Table A14 and Figure A17 tag).

The STATA do file, Figures A16b Primary Non-South.do, uses the analysis dataset, mww_4_ref_bal_pri_ns.txt (see the SI Table A14 and Figure A17 tag), containing observations for members in the Ballot + Primary and non-reform settings groups, to generate bootstrapped confidence intervals for the standardized bias calculations for 13 covariates used in the analyses.  The procedures are identical to those described above.  The saved file, sim_ref_bal_pri_2_ns.dta, contains the mean, standard deviation and the 5th and 95th percentiles of the 10,000 trials.  The standardized bias calculations for each covariate before and after matching can be found in the preserved matching output file Table_A14_match_ref_bal_pri_2_ns_print.txt (see the SI Table A14 and Figure A17 tag).


SI Table A14 and Figure A17

Seven steps are needed to generate the matched samples and event count models in Tables A14.  

1. Use STATA and the main dataset to export analysis datasets for the non-South.
2. Use the GenMatch() command in R on the appropriate analysis dataset to generate matched samples of treatment and control group observations.
3. Use the MatchBalance command in R to examine how well balance was achieved.
4. Export the matched observations to a saved comma-separated text file.
5. Use STATA to format and save the matched observations with a new variable, tr1, as a treatment indicator.
6. Use the nbreg command in STATA to estimate negative binomial regression models of private, local and policy bill introductions
7. Use the CLARIFY package in STATA to generate predicted counts and first differences.

The six models of Tables A14 can be reproduced through the following procedures: 

The STATA do file, mww_4.do, creates reverse Ballot and Ballot + Primary treatment variables, and exports subsets of the main dataset, mww_1.dta (see the Main tag) to two analysis datasets for the non-South � mww_4_ref_ballot_ns.txt, mww_4_ref_bal_pri_ns.txt.  These separate analysis datasets are necessary because the analyses use different treatment variables than the analyses in Table 1 of the article.

Table A14

Model of Private, Local and Policy Bills, Ballot and non-reform settings, Non-South

The R file, match_ref_ballot_2_ns.r, uses the analysis dataset, mww_4_ref_ballot_ns.txt, containing observations for members in the non-reform settings and Ballot groups, to generate matched samples.  Specifically, this file runs propensity score and genetic matching algorithms that pair each member in the non-reform settings group with a suitable match from the Ballot group, and then uses the MatchBalance() command to examine how successful each was in achieving balance on the observed covariates; the balance statistics are saved in the output file match_ref_ballot_2_ns _print.txt.  Only the output of the genetic matching algorithm is used in the analyses.  The bottom of the file saves the output of the genetic matching algorithm in a three-column object (treatment id, control id, weight) and writes these data to the output file, match_ref_ballot_2_ns_output.txt.  The workspace is saved as an R data file, match_ref_ballot_2_ns.RData.

The STATA do file, Table A14 Ballot Non-South.do, imports the output file, match_ref_ballot_2_ns_output.txt, formats and saves the output file match_ref_ballot_2_ns_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_4_ref_ballot_ns_match.dta, for analysis.  The bottom of the file runs the negative binomial regression models of private, local and policy bill introductions, identifies the 25th and 75th percentiles of continuous covariates, and then uses the CLARIFY package to generate predicted counts and first differences.  These predicted counts and first differences are saved in a log file, Table_A14_ballot_2_ns_match_clarify.log, and plotted in Figure A17.


Model of Private, Local and Policy Bills, Ballot + Primary and non-reform settings, Non-South

The R file, match_ref_bal_pri_2_ns.r, uses the analysis dataset, mww_4_ref_bal_pri_ns.txt, containing observations for members in the non-reform settings and Ballot + Primary groups, to generate matched samples.  The procedures are identical to those described above.  The balance statistics are saved in the output file match_ref_bal_pri_2_ns _print.txt.  The output of the genetic matching algorithm is saved in the output file, match_ref_bal_pri_2_ns_output.txt.  The workspace is saved in the R data file, match_ref_bal_pri_2_ns.RData.

The STATA do file, Table A14 Primary Non-South.do, imports the output file, match_ref_bal_pri_2_ns_output.txt, formats and saves the output file match_ref_bal_pri_2_ns_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_4_ref_bal_pri_ns_match.dta, for analysis.  The bottom of the file follows procedures that are identical to those described above, saving the models, predicted counts and first differences in a log file, Table_A14_bal_pri_2_ns_match_clarify.log. These are plotted in Figure Figures A17.


Figure A17

The STATA do file, Figure A17aA17cA17e Ballot Non-South.do, plots predicted first differences generated from the Ballot and non-reform models in Table A14 using CLARIFY.  These first differences are captured in the log file Table_A14_ballot_2_ns_match_clarify.txt.

The STATA do file, Figure A17bA17dA17f Primary Non-South.do, plots predicted first differences generated from the Ballot + Primary and non-reform models in Table A14 using CLARIFY.  These first differences are captured in the log file Table_A14_bal_pri_2_ns_match_clarify.txt.


SI Figure A18

The STATA do file, Figures A18 Ballot South.do, uses the analysis dataset, mww_6_ref_ballot_s.txt (see the SI Table A15 and Figure A19 tag), containing observations for members in the Ballot treatment and non-reform settings control groups, to generate bootstrapped confidence intervals for the standardized bias calculations for 11 covariates used in the analyses.  Specifically, this file runs a loop command that randomly assigns observations to two groups that are equivalent in size to the Ballot and non-reform groups and calculates means and standard deviations for them.  This process is repeated 10,000 times saving the results of each trial.  For each trial, the standardized bias is calculated as well as two variables that identify the 5th and 95th percentiles of the 10,000 trials.  The saved file, sim_ref_ballot_s_border.dta, contains these data.  The bottom of the do file plots the standardized bias for each covariate before and after matching with the variables identifying the 5th and 95th percentiles.  The standardized bias for each covariate before and after matching is calculated as part of the matching procedures described below (see the SI Table A15 and Figure A19 tag).  Because the MatchBalance() command in R multiplies the standardized bias calculations by 100, we divide these figures by 100 before plotting them with the bootstrapped confidence intervals.  The standardized bias calculations for each covariate before and after matching can be found in the matching output file Table A15_match_ref_ballot_s _border_print.txt (see the SI Table A15 and Figure A19 tag).


SI Table A15 and Figure A19

Seven steps are needed to generate the matched samples and event count models in Tables A15.  

1. Use STATA and the main dataset to export the analysis dataset for the South.
2. Use the GenMatch() command in R on the appropriate analysis dataset to generate matched samples of treatment and control group observations.
3. Use the MatchBalance command in R to examine how well balance was achieved.
4. Export the matched observations to a saved comma-separated text file.
5. Use STATA to format and save the matched observations with a new variable, tr1, as a treatment indicator.
6. Use the nbreg command in STATA to estimate negative binomial regression models of private, local and policy bill introductions
7. Use the CLARIFY package in STATA to generate predicted counts and first differences.

The first model of Table A15 can be reproduced through the following procedures: 

The STATA do file, SI Table A15 Ballot South Unmatched.do, opens the analysis dataset mww_6_ref_ballot_s_match.dta, runs the negative binomial regression model of private bill introductions, identifies the 25th and 75th percentiles of continuous covariates, and then uses the CLARIFY package to generate predicted counts and first differences.  These predicted counts and first differences are saved in a log file, Table_A15_ballot_s_unmatch_clarify.log, and plotted in Figure A19.


The second model of Table A15 can be reproduced through the following procedures: 

The STATA do file, mww_6.do, creates a variable identifying border states, and exports subsets of the main dataset to an analysis dataset, mww_6_ref_ballot_s.txt, for the South.  This separate analysis dataset is necessary because the analyses use different treatment variables and covariates than the analyses in Table 1 of the article.

Model of Private Bills, Ballot and non-reform settings, South

The R file, match_ref_ballot_s_border.r, uses the analysis dataset, mww_6_ref_ballot_s.txt, containing observations for members in the Ballot and non-reform settings groups, to generate matched samples.  Specifically, this file runs propensity score and genetic matching algorithms that pair each member in the Ballot group with a suitable match from the non-reform settings group, and then uses the MatchBalance() command to examine how successful each was in achieving balance on the observed covariates; the balance statistics are saved in the output file match_ref_ballot_s_border _print.txt.  Only the output of the genetic matching algorithm is used in the analyses.  The bottom of the file saves the output of the genetic matching algorithm in a three-column object (treatment id, control id, weight) and writes these data to the output file, match_ref_ballot_s_border_output.txt.  The workspace is saved as an R data file, match_ref_ballot_s_border.RData.

The STATA do file, SI Table A15 Ballot South Matched.do, imports the output file, match_ref_ballot_s_border_output.txt, formats and saves the output file match_ref_ballot_s_border_output_mrg.dta for merging with the analysis dataset, performs the merge and then saves the merged file, mww_6_ref_ballot_s_match.dta, for analysis.  The bottom of the file runs the negative binomial regression model of private bill introductions, identifies the 25th and 75th percentiles of continuous covariates, and then uses the CLARIFY package to generate predicted counts and first differences.  These predicted counts and first differences are saved in a log file, Table_A15_ballot_s_match_clarify.log, and plotted in Figure A19.


Figure A19

The STATA do file, Figure A19aA19b Ballot South.do, plots predicted first differences generated from the Ballot and non-reform models in Table A15 using CLARIFY.  These first differences are captured in the log files Table_A15_ballot_ns_unmatch_clarify.txt and Table_A15_ballot_ns_match_clarify.txt.

